package com.czp.dict.mapper;

import java.util.List;

import org.apache.ibatis.session.RowBounds;

import com.czp.dict.model.Dict;
import com.czp.dict.model.DictType;

/**
 * 【环 境】：J2SE 1.7
 * @author   柴志鹏	CHAIZP@GMAIL.COM
 * @version  version 1.0
 * @since    2014-8-5
 */
public interface IDictMapper {
	/** 
	 * 【描 述】：查询字典 "类型"
	 * @param DictType(类型名称)
	 * @param RowBounds(start, limit)
	 * @return 类型集合
	 * @throws Exception
	 */
	List<DictType> getDictTypeList(DictType dictType, RowBounds bounds) throws Exception;
	
	/** 
	 * 【描 述】：查询字典 "类型" 数量
	 * @param DictType(类型名称)
	 * @return 数量
	 * @throws Exception
	 */
	int getDictTypeCount(DictType dictType) throws Exception;
	
	/** 
	 * 【描 述】：查询字典 "数值"
	 * @param Dict(类型Id)
	 * @param RowBounds(start,limit)
	 * @return 数值集合
	 * @throws Exception
	 */
	List<Dict> getDictList(Dict dict, RowBounds bounds) throws Exception;
	
	/** 
	 * 【描 述】：查询字典 "数值" 数量
	 * @param Dict(类型Id，字典标签)
	 * @return 数量
	 * @throws Exception
	 */
	int getDictCount(Dict dict) throws Exception;
	
	/** 
	 * 【描 述】：添加一条 "类型" 字典信息
	 * @param DictType(字典名称，字典代码，启用状态，备注)
	 * @return 被影响的数量
	 * @throws Exception
	 */
	int insertDictType(DictType dictType) throws Exception;
	
	/** 
	 * 【描 述】：修改一条 "类型" 字典信息
	 * @param DictType(主键Id，字典名称，字典代码，启用状态，备注)
	 * @return 被影响的数量
	 * @throws Exception
	 */
	int updateDictType(DictType dictType) throws Exception;
	
	/** 
	 * 【描 述】：删除一条 "类型" 字典信息
	 * @param DictType(主键Id)
	 * @return 被影响的数量
	 * @throws Exception
	 */
	int deleteDictType(DictType dictType) throws Exception;
	
	/** 
	 * 【描 述】：添加一条 "数值" 字典信息
	 * @param Dict(标签，数值)
	 * @return 被影响的数量
	 * @throws Exception
	 */
	int insertDict(Dict dict) throws Exception;
	
	/** 
	 * 【描 述】：修改一条 "数值" 字典信息
	 * @param Dict(主键Id，标签，数值)
	 * @return 被影响的数量
	 * @throws Exception
	 */
	int updateDict(Dict dict) throws Exception;
	
	/** 
	 * 【描 述】：删除一条 "数值" 字典信息
	 * @param DictType(主键Id)
	 * @return 被影响的数量
	 * @throws Exception
	 */
	int deleteDict(Dict dict) throws Exception;
}
